import Vue from 'vue'
import App from './App'
import router from './router'
import axios from "axios";
import store from "./store";

// 引用ElementUI插件
import ElementUI from 'element-ui';
// 引用ElementUI样式
import 'element-ui/lib/theme-chalk/index.css';
// 通过Vue.use注册插件
Vue.use(ElementUI);

// 加上$store到原型，让this.$store可用
Vue.prototype.$store = store;
// 按需引入方式
// import { Button } from "element-ui";
// Vue.use(Button);


// 添加响应拦截器，401的错误注销并跳转到登录页面
axios.interceptors.response.use(
  response => {
    let data = response.data;
    if(data.code == 401){
      // 显示错误信息
      Vue.prototype.$message.error(data.msg);
      // 注销清除登录数据
      store.commit("logout");
      // 跳转到登录页面
      router.push({path: '/login'});
      // 不需要响应了
      return;
    }
    return response;
});

// 在Vue原型上绑定axios对象  
Vue.prototype.$axios = axios; 

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store, // 注册store
  components: { App },
  template: '<App/>'
})
